package com.gxc.blogm.service;

import java.util.List;
import java.util.Map;

import com.gxc.blogm.domain.Media;
import com.gxc.dbcore.dao.SqlDao;
import com.gxc.dbcore.util.PageInfo;
import com.gxc.dbcore.util.PageList;

public class MediaService {

	SqlDao sqlDao;

	public SqlDao getSqlDao() {
		return sqlDao;
	}

	public void setSqlDao(SqlDao sqlDao) {
		this.sqlDao = sqlDao;
	}

	/**
	 * 获取单个文件
	 * 
	 * @param id
	 * @return
	 */
	public Media retrieve(String id) {
		return sqlDao.selectOne("blog.media.retrieve", id);
	}

	/**
	 * 创建新文件
	 * 
	 * @param media
	 * @return
	 */
	public int create(Media media) {
		return sqlDao.insert("blog.media.create", media);
	}

	/**
	 * 更新文件信息
	 * 
	 * @param media
	 * @return
	 */
	public int update(Media media) {
		return sqlDao.update("blog.media.update", media);
	}

	/**
	 * 删除单个文件
	 * 
	 * @param id
	 * @return
	 */
	public int delete(String id) {
		return sqlDao.delete("blog.media.delete", id);
	}

	/**
	 * 批量删除文件
	 * 
	 * @param id_array
	 * @return
	 */
	public int delete(String[] id_array) {
		int i = 0;
		for (String id : id_array) {
			i += sqlDao.delete("blog.media.delete", id);
		}
		return i;
	}

	/**
	 * 列出所有文件
	 * 
	 * @param parameter
	 * @return
	 */
	@SuppressWarnings("rawtypes")
	public List listAll(Map parameter) {
		return sqlDao.selectList("blog.media.list", parameter);
	}

	/**
	 * 分页列出文件
	 * 
	 * @param parameter
	 * @param pageInfo
	 * @return
	 */
	@SuppressWarnings("rawtypes")
	public PageList listPage(Map parameter, PageInfo pageInfo) {
		return sqlDao.selectPageList("blog.media.list", parameter, pageInfo);
	}

	public int deleteByAlbumId(String album_id) {
		return sqlDao.delete("blog.media.deleteByAlbumId", album_id);
	}

	public void deleteFile(String filePath) {

	}
}
